package br.com.droid;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import br.com.droid.model.Tipo;

public class BancoTipo {

	private static BancoTipo instance;
	private ArrayList<Tipo> listaTipos;
	
	public BancoTipo() {
		listaTipos = new ArrayList<Tipo>();
	}
	
	public static BancoTipo getBancoInstance(){
		if(instance==null)
			instance = new BancoTipo();
		return instance;
	}
		
	public Tipo buscarTipo(int id){
		Tipo tipo = null;
		String teste = "SELECT * from Tipo where id = +"+id+";";
        
        if(ConexaoMySQL.getConexaoMySQL()!=null){
            Statement stm;
			try {
				stm = ConexaoMySQL.getConexaoMySQL().createStatement();
				ResultSet rs = stm.executeQuery(teste);
		            while (rs.next()) {
		                tipo = new Tipo();
		                tipo.setId(rs.getLong("id"));
		                tipo.setNome_tipo(rs.getString("nome_tipo"));
		        		tipo.setTipo(rs.getString("tipo"));		        		
		            }
	            ConexaoMySQL.FecharConexao();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
        }
		return tipo;
	}
	
	public Tipo buscarTipo(String nome_tipo){
		Tipo tipo = null;
		String teste = "SELECT * from Tipo where nome_tipo = +'"+nome_tipo+"';";
        
        if(ConexaoMySQL.getConexaoMySQL()!=null){
            Statement stm;
			try {
				stm = ConexaoMySQL.getConexaoMySQL().createStatement();
				ResultSet rs = stm.executeQuery(teste);
		            while (rs.next()) {
		                tipo = new Tipo();
		                tipo.setId(rs.getLong("id"));
		                tipo.setNome_tipo(rs.getString("nome_tipo"));
		        		tipo.setTipo(rs.getString("tipo"));		        		
		            }
	            ConexaoMySQL.FecharConexao();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
        }
		return tipo;
	}
	
	public ArrayList<Tipo> getListaTipos(){
        String teste = "SELECT * from Tipo;";
        listaTipos.clear();
        
        if(ConexaoMySQL.getConexaoMySQL()!=null){
            Statement stm;
			try {
				stm = ConexaoMySQL.getConexaoMySQL().createStatement();
				ResultSet rs = stm.executeQuery(teste);
		            while (rs.next()) {
		            	Tipo tipo = new Tipo();
		                tipo.setId(rs.getLong("id"));
		                tipo.setNome_tipo(rs.getString("nome_tipo"));
		        		tipo.setTipo(rs.getString("tipo"));
		        		listaTipos.add(tipo);
		            }
	            ConexaoMySQL.FecharConexao();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
        }
		return listaTipos;
	}	
}
